﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using System.Data.SqlClient;

namespace GiangDay
{
    public partial class FrLop : DevComponents.DotNetBar.Office2007Form
    {
        DB db = new DB();
        FunctionLinh fun = new FunctionLinh();
        public FrLop()
        {
            InitializeComponent();
        }
        private void FrLop_Activated(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Maximized;
        }

        private void FrLop_Load(object sender, EventArgs e)
        {
            dgLop.DataSource = fun.loadLop();

            //load hệ
            cbLopHe.DataSource = fun.loadHDT();
            cbLopHe.ValueMember = "MA_HE";
            cbLopHe.DisplayMember = "TEN_HE";

            //load khoa
            cbLopKhoa.DataSource = fun.loadkhoa();
            cbLopKhoa.ValueMember = "MA_KHOA";
            cbLopKhoa.DisplayMember = "TEN_KHOA";
        }

        private void dgLop_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (btThemLop.Enabled==false)
            {
                btThemLop.Enabled = true;
                btXoaLop.Enabled = true;
                btSuaLop.Enabled = true;
                btLuuLop.Enabled = true;
                btHuyLop.Enabled = false;
            }
            if (dgLop.SelectedRows.Count==0)
            {
                return;
            }
            txtmalop.Text = dgLop.Rows[dgLop.CurrentRow.Index].Cells["MA_LOP"].Value.ToString();
            txttenlop.Text = dgLop.Rows[dgLop.CurrentRow.Index].Cells["TEN_LOP"].Value.ToString();
            txtsiso.Text = dgLop.Rows[dgLop.CurrentRow.Index].Cells["SI_SO"].Value.ToString();
            cbLopKhoa.Text = dgLop.Rows[dgLop.CurrentRow.Index].Cells["TEN_KHOA"].Value.ToString();
            cbLopHe.Text = dgLop.Rows[dgLop.CurrentRow.Index].Cells["TEN_HE"].Value.ToString();
        }

        private void btThemLop_Click(object sender, EventArgs e)
        {
            txtmalop.Enabled = true;
            txtmalop.Clear();
            txtmalop.Focus();
            txttenlop.Clear();
            txtsiso.Clear();
            cbLopKhoa.ResetText();
            cbLopHe.ResetText();

            btHuyLop.Enabled = true;
            btLuuLop.Enabled = true;
            btSuaLop.Enabled = false;
            btXoaLop.Enabled = false;
            btThemLop.Enabled = false;
        }

        private void btSuaLop_Click(object sender, EventArgs e)
        {
            if (txtmalop.Text=="")
            {
                MessageBox.Show("Chưa chọn lớp để sữa", "Thông báo",MessageBoxButtons.OK,MessageBoxIcon.Information);
                return;
            }
            if (fun.suaLop(txtmalop.Text.Trim(),cbLopHe.SelectedValue.ToString(),cbLopKhoa.SelectedValue.ToString(),txttenlop.Text,int.Parse(txtsiso.Text)))
            {
                MessageBox.Show("Sữa lớp thành công", "Thông báo",MessageBoxButtons.OK,MessageBoxIcon.Information);

                dgLop.Rows[dgLop.CurrentRow.Index].Cells["TEN_KHOA"].Value = cbLopKhoa.Text;
                dgLop.Rows[dgLop.CurrentRow.Index].Cells["TEN_HE"].Value = cbLopHe.Text;
                dgLop.Rows[dgLop.CurrentRow.Index].Cells["TEN_LOP"].Value = txttenlop.Text;
                dgLop.Rows[dgLop.CurrentRow.Index].Cells["SI_SO"].Value = txtsiso.Text;

                txtmalop.Clear();
                txttenlop.Clear();
                txtsiso.Clear();
                cbLopKhoa.ResetText();
                cbLopHe.ResetText();
            }

        }

        private void btLuuLop_Click(object sender, EventArgs e)
        {
            //kiểm tra dữ liệu
            if (txtmalop.Text.Trim() == "")
            {
                MessageBox.Show("Mã Lớp không được rỗng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtmalop.Focus();
                return;
            }

            if (txttenlop.Text.Trim() == "")
            {
                MessageBox.Show("Tên Lớp không được rỗng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txttenlop.Focus();
                return;
            }

            if (txtsiso.Text.Trim() == "")
            {
                MessageBox.Show("Sĩ số không được rỗng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtsiso.Focus();
                return;
            }

            //kiểm tra tồn tại mã học vị
            if (db.ktra_tontai(txtmalop.Text.Trim(), "MA_LOP", "LOP"))
            {
                MessageBox.Show("Mã Lớp đã tồn tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtmalop.Focus();
                return;
            }

            fun.themLop(txtmalop.Text.Trim(),cbLopHe.SelectedValue.ToString(),cbLopKhoa.SelectedValue.ToString(),txttenlop.Text,int.Parse(txtsiso.Text));
            dgLop.DataSource = fun.loadLop();

            txtmalop.Clear();
            txttenlop.Clear();
            txtsiso.Clear();
            cbLopKhoa.ResetText();
            cbLopHe.ResetText();

            btThemLop.Enabled = true;
            btXoaLop.Enabled = true;
            btSuaLop.Enabled = true;
            btLuuLop.Enabled = false;
            btHuyLop.Enabled = false;

        }

        private void txtsiso_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar))
            { e.Handled = true; }
            if (e.KeyChar == 13) //gởi phím tab khi nhấn enter
                SendKeys.Send("{tab}");
        }

        private void btHuyLop_Click(object sender, EventArgs e)
        {
            btThemLop.Enabled = true;
            btXoaLop.Enabled = true;
            btSuaLop.Enabled = true;
            btLuuLop.Enabled = false;
            btHuyLop.Enabled = false;

            txtmalop.Enabled = false;
            txtmalop.Clear();
            txttenlop.Clear();
            txtsiso.Clear();
            cbLopKhoa.ResetText();
            cbLopHe.ResetText();
        }

        private void btXoaLop_Click(object sender, EventArgs e)
        {
            if (txtmalop.Text == "")
            {
                MessageBox.Show("Chưa chọn lớp cần xóa", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            fun.xoaLop(txtmalop.Text.Trim());
            dgLop.DataSource = fun.loadLop();
            txtmalop.Clear();
            txttenlop.Clear();
            txtsiso.Clear();
            cbLopKhoa.ResetText();
            cbLopHe.ResetText();

        }

        
    }
}